home *** CD-ROM | disk | FTP | other *** search
/ Apple WWDC 1996 / WWDC96_1996 (CD).toast / Technology Materials / MacOS 8 Resources / Developer Tools / Mac OS 8 Interfaces & Libraries / Interfaces / CIncludes / NotifierModule.xh < prev    next >
Text File  |  1996-05-01  |  11KB  |  408 lines

  1.  
  2. /*
  3.  * This file was generated by the SOM Compiler.
  4.  * FileName: NotifierModule.xh.
  5.  * Generated using:
  6.  *     SOM Precompiler somipc: 2.18
  7.  *     SOM Emitter emitxh.dll: 2.33
  8.  */
  9.  
  10. #ifndef SOM_NotifierModule_xh
  11. #define SOM_NotifierModule_xh
  12.  
  13. class NotifierModule;
  14.  
  15. #define NotifierModule_MajorVersion 0
  16. #define NotifierModule_MinorVersion 0
  17.  
  18. /*
  19.  * Passthru lines: File: "C.xh", "before"
  20.  */
  21. #include <Notification.h>
  22.  
  23. /* C++ SOM defs */
  24. #include <somcls.xh>
  25. #include <somcm.xh>
  26.  
  27. /* C++ parent defs */
  28. #ifndef SOM_SOMObject_xh
  29. #include <somobj.xh>
  30. #endif
  31.  
  32. #ifndef NotifierModule_API
  33. #define NotifierModule_API
  34. /*
  35.  * -- The Class API
  36.  */
  37.  
  38. /*
  39.  * Start of user-defined types:
  40.  */
  41. class SOMClass;
  42. class SOMObject;
  43.  
  44. /*
  45.  * End of user-defined types.
  46.  */
  47.  
  48. #ifdef OLDIBMSOMAPISUPPORT
  49. #define NotifierModuleCClassData NotifierModuleClassData
  50. #define NotifierModuleNewClass(major,minor) somNewVersionedClassReference(NotifierModule,major,minor)
  51. #endif
  52.  
  53. /* define xxxMetaClass macro to facilitate (cls ## MetaClass) */
  54. #define NotifierModuleMetaClass SOMClass
  55.  
  56. #if PRAGMA_ALIGN_SUPPORTED
  57. #  pragma options align=power
  58. #endif
  59.  
  60. /* The API to the NotifierModule class object, and the methods it introduces. */
  61. SOMEXTERN struct NotifierModuleClassDataStructure {
  62. #ifdef OLDIBMSOMAPISUPPORT
  63.     SOMClass            *classObject;    /* always zero, use somNewClassReference instead */
  64. #else
  65.     long zero;
  66. #endif
  67.     somStaticClassInfo *sci;
  68.     somDToken        instanceDataToken;
  69.     long reserved [3];
  70.     somMToken InitializeModule;
  71.     somMToken DisposeModule;
  72.     somMToken AddNotificationRequest;
  73.     somMToken RemoveNotificationRequest;
  74.     somMToken CheckCompletedRequest;
  75.     somMToken Idle;
  76. } SOMDLINK NotifierModuleClassData;
  77.  
  78. #if PRAGMA_ALIGN_SUPPORTED
  79. #  pragma options align=reset
  80. #endif
  81.  
  82. #if !defined(NotifierModule_Class_Source) && !defined(SOM_Module_notifiermodule_Source)
  83. #if PRAGMA_IMPORT_SUPPORTED
  84. #pragma import list NotifierModuleClassData
  85. #endif
  86. #endif
  87.  
  88.  
  89. /*
  90.  * -- Typedefs for NotifierModule Method Procedures
  91.  */
  92. SOMEXTERN {
  93. typedef OSStatus   (* SOMLINK somTD_NotifierModule_InitializeModule)(NotifierModule *somSelf, Environment *ev);
  94. typedef void   (* SOMLINK somTD_NotifierModule_DisposeModule)(NotifierModule *somSelf, Environment *ev);
  95. typedef OSStatus   (* SOMLINK somTD_NotifierModule_AddNotificationRequest)(NotifierModule *somSelf, Environment *ev,
  96.         NotificationRef theNotification);
  97. typedef OSStatus   (* SOMLINK somTD_NotifierModule_RemoveNotificationRequest)(NotifierModule *somSelf, Environment *ev,
  98.         NotificationRef theNotification);
  99. typedef boolean   (* SOMLINK somTD_NotifierModule_CheckCompletedRequest)(NotifierModule *somSelf, Environment *ev,
  100.         NotificationRef theNotification);
  101. typedef void   (* SOMLINK somTD_NotifierModule_Idle)(NotifierModule *somSelf, Environment *ev);
  102.  
  103. /*
  104.  * -- Typedefs for Inherited Methods
  105.  */
  106. typedef void   (* SOMLINK somTD_NotifierModule_somInit)(NotifierModule *somSelf);
  107. typedef void   (* SOMLINK somTD_NotifierModule_somUninit)(NotifierModule *somSelf);
  108. typedef SOMObject*   (* SOMLINK somTD_NotifierModule_somDuplicateReference)(NotifierModule *somSelf);
  109. typedef boolean   (* SOMLINK somTD_NotifierModule_somCompareReference)(NotifierModule *somSelf,
  110.         SOMObject* anObject);
  111. typedef SOMObject*   (* SOMLINK somTD_NotifierModule_somRelease)(NotifierModule *somSelf);
  112. typedef void   (* SOMLINK somTD_NotifierModule_somFree)(NotifierModule *somSelf);
  113. typedef boolean   (* SOMLINK somTD_NotifierModule_somCanDelete)(NotifierModule *somSelf);
  114. typedef SOMClass*   (* SOMLINK somTD_NotifierModule_somGetClass)(NotifierModule *somSelf);
  115. typedef corbastring   (* SOMLINK somTD_NotifierModule_somGetClassName)(NotifierModule *somSelf);
  116. typedef long   (* SOMLINK somTD_NotifierModule_somGetSize)(NotifierModule *somSelf);
  117. typedef boolean   (* SOMLINK somTD_NotifierModule_somIsA)(NotifierModule *somSelf,
  118.         SOMClass* aClassObj);
  119. typedef boolean   (* SOMLINK somTD_NotifierModule_somRespondsTo)(NotifierModule *somSelf,
  120.         somId mId);
  121. typedef boolean   (* SOMLINK somTD_NotifierModule_somIsInstanceOf)(NotifierModule *somSelf,
  122.         SOMClass* aClassObj);
  123. typedef boolean   (* SOMLINK somTD_NotifierModule_somDispatch)(NotifierModule *somSelf,
  124.         somToken* retValue,
  125.         somId methodId,
  126.         va_list ap);
  127. typedef boolean   (* SOMLINK somTD_NotifierModule_somClassDispatch)(NotifierModule *somSelf,
  128.         SOMClass* clsObj,
  129.         somToken* retValue,
  130.         somId methodId,
  131.         va_list ap);
  132. typedef boolean   (* SOMLINK somTD_NotifierModule_somCastObj)(NotifierModule *somSelf,
  133.         SOMClass* cls);
  134. typedef boolean   (* SOMLINK somTD_NotifierModule_somResetObj)(NotifierModule *somSelf);
  135. typedef SOMObject*   (* SOMLINK somTD_NotifierModule_somPrintSelf)(NotifierModule *somSelf);
  136. typedef void   (* SOMLINK somTD_NotifierModule_somDumpSelf)(NotifierModule *somSelf,
  137.         long level);
  138. typedef void   (* SOMLINK somTD_NotifierModule_somDumpSelfInt)(NotifierModule *somSelf,
  139.         long level);
  140. }
  141.  
  142. #endif /* NotifierModule_API */
  143.  
  144.  
  145. /*
  146.  * -- This emitter treats Method Tokens as Thunks by default.
  147.  * -- Use the sc modifier "nothunks" to change this default
  148.  */
  149. #undef somresolve_
  150. #define somresolve_(obj,mToken) ((somMethodProc*)((void)obj, mToken))
  151.  
  152. /*
  153.  * -- The C++ Wrapper Class for NotifierModule
  154.  */
  155. class NotifierModule : public SOMObject
  156. {
  157. public:
  158.  
  159. // NotifierModule::new registers use of the class object, and then uses somNew
  160. // to allocate memory and load the object method table pointer. 
  161. void *operator new(size_t size)
  162. {
  163.     SOM_IgnoreWarning(size);
  164.     // Allocate memory using the default allocator for NotifierModule, and
  165.     // clear mem & set method table pointer, call basic initialization
  166.     return (void*) somNewObject(NotifierModule);
  167. }
  168.  
  169. // NotifierModule::delete uses the default deallocator for the object's class.
  170. void operator delete(void * obj)
  171. {
  172.     if (obj) {
  173.         SOM_Resolve(obj,SOMObject,somFree)
  174.            ( (SOMObject*) obj );
  175.     }
  176. }
  177.  
  178. /* method: InitializeModule */
  179. OSStatus   InitializeModule(Environment *ev)
  180. {
  181.    return SOM_ResolveD(this,NotifierModule,NotifierModule,InitializeModule)
  182.     (this,ev);
  183. }
  184.  
  185. /* method: DisposeModule */
  186. void   DisposeModule(Environment *ev)
  187. {
  188.    SOM_ResolveD(this,NotifierModule,NotifierModule,DisposeModule)
  189.     (this,ev);
  190. }
  191.  
  192. /* method: AddNotificationRequest */
  193. OSStatus   AddNotificationRequest(Environment *ev,
  194.         NotificationRef theNotification)
  195. {
  196.    return SOM_ResolveD(this,NotifierModule,NotifierModule,AddNotificationRequest)
  197.     (this,ev,theNotification);
  198. }
  199.  
  200. /* method: RemoveNotificationRequest */
  201. OSStatus   RemoveNotificationRequest(Environment *ev,
  202.         NotificationRef theNotification)
  203. {
  204.    return SOM_ResolveD(this,NotifierModule,NotifierModule,RemoveNotificationRequest)
  205.     (this,ev,theNotification);
  206. }
  207.  
  208. /* method: CheckCompletedRequest */
  209. boolean   CheckCompletedRequest(Environment *ev,
  210.         NotificationRef theNotification)
  211. {
  212.    return SOM_ResolveD(this,NotifierModule,NotifierModule,CheckCompletedRequest)
  213.     (this,ev,theNotification);
  214. }
  215.  
  216. /* method: Idle */
  217. void   Idle(Environment *ev)
  218. {
  219.    SOM_ResolveD(this,NotifierModule,NotifierModule,Idle)
  220.     (this,ev);
  221. }
  222.  
  223.  
  224. /*
  225.  * -- Inherited methods
  226.  */
  227. /* method: somInit */
  228. void   somInit()
  229. {
  230.    SOM_ResolveD(this,NotifierModule,SOMObject,somInit)
  231.     (this);
  232. }
  233.  
  234. /* method: somUninit */
  235. void   somUninit()
  236. {
  237.    SOM_ResolveD(this,NotifierModule,SOMObject,somUninit)
  238.     (this);
  239. }
  240.  
  241. /* method: somDuplicateReference */
  242. SOMObject*   somDuplicateReference()
  243. {
  244.    return SOM_ResolveD(this,NotifierModule,SOMObject,somDuplicateReference)
  245.     (this);
  246. }
  247.  
  248. /* method: somCompareReference */
  249. boolean   somCompareReference(SOMObject* anObject)
  250. {
  251.    return SOM_ResolveD(this,NotifierModule,SOMObject,somCompareReference)
  252.     (this,anObject);
  253. }
  254.  
  255. /* method: somRelease */
  256. SOMObject*   somRelease()
  257. {
  258.    return SOM_ResolveD(this,NotifierModule,SOMObject,somRelease)
  259.     (this);
  260. }
  261.  
  262. /* method: somFree */
  263. void   somFree()
  264. {
  265.    SOM_ResolveD(this,NotifierModule,SOMObject,somFree)
  266.     (this);
  267. }
  268.  
  269. /* method: somCanDelete */
  270. boolean   somCanDelete()
  271. {
  272.    return SOM_ResolveD(this,NotifierModule,SOMObject,somCanDelete)
  273.     (this);
  274. }
  275.  
  276. /* method: somGetClass */
  277. SOMClass*   somGetClass()
  278. {
  279.    return SOM_ResolveD(this,NotifierModule,SOMObject,somGetClass)
  280.     (this);
  281. }
  282.  
  283. /* method: somGetClassName */
  284. corbastring   somGetClassName()
  285. {
  286.    return SOM_ResolveD(this,NotifierModule,SOMObject,somGetClassName)
  287.     (this);
  288. }
  289.  
  290. /* method: somGetSize */
  291. long   somGetSize()
  292. {
  293.    return SOM_ResolveD(this,NotifierModule,SOMObject,somGetSize)
  294.     (this);
  295. }
  296.  
  297. /* method: somIsA */
  298. boolean   somIsA(SOMClass* aClassObj)
  299. {
  300.    return SOM_ResolveD(this,NotifierModule,SOMObject,somIsA)
  301.     (this,aClassObj);
  302. }
  303.  
  304. /* method: somRespondsTo */
  305. boolean   somRespondsTo(somId mId)
  306. {
  307.    return SOM_ResolveD(this,NotifierModule,SOMObject,somRespondsTo)
  308.     (this,mId);
  309. }
  310.  
  311. /* method: somIsInstanceOf */
  312. boolean   somIsInstanceOf(SOMClass* aClassObj)
  313. {
  314.    return SOM_ResolveD(this,NotifierModule,SOMObject,somIsInstanceOf)
  315.     (this,aClassObj);
  316. }
  317.  
  318. /* va_list method: somDispatch */
  319. /* the va_list invocation form */
  320. boolean   NotifierModule_somDispatch(somToken* retValue,
  321.         somId methodId,
  322.         va_list ap)
  323. {
  324.    return SOM_ResolveD(this,NotifierModule,SOMObject,somDispatch)
  325.     (this,retValue,methodId,ap);
  326. }
  327.  
  328. /* the varargs invocation form */
  329. boolean   somDispatch(somToken* retValue,
  330.         somId methodId,
  331.         ...)
  332. {
  333.    va_list ap;
  334.    va_start(ap, methodId);
  335.       boolean __somResult = 
  336.       (boolean) SOM_ResolveD(this,NotifierModule,SOMObject,somDispatch)
  337.     (this,retValue,methodId,ap);
  338.    va_end(ap);
  339.    return __somResult;
  340. }
  341.  
  342. /* va_list method: somClassDispatch */
  343. /* the va_list invocation form */
  344. boolean   NotifierModule_somClassDispatch(SOMClass* clsObj,
  345.         somToken* retValue,
  346.         somId methodId,
  347.         va_list ap)
  348. {
  349.    return SOM_ResolveD(this,NotifierModule,SOMObject,somClassDispatch)
  350.     (this,clsObj,retValue,methodId,ap);
  351. }
  352.  
  353. /* the varargs invocation form */
  354. boolean   somClassDispatch(SOMClass* clsObj,
  355.         somToken* retValue,
  356.         somId methodId,
  357.         ...)
  358. {
  359.    va_list ap;
  360.    va_start(ap, methodId);
  361.       boolean __somResult = 
  362.       (boolean) SOM_ResolveD(this,NotifierModule,SOMObject,somClassDispatch)
  363.     (this,clsObj,retValue,methodId,ap);
  364.    va_end(ap);
  365.    return __somResult;
  366. }
  367.  
  368. /* method: somCastObj */
  369. boolean   somCastObj(SOMClass* cls)
  370. {
  371.    return SOM_ResolveD(this,NotifierModule,SOMObject,somCastObj)
  372.     (this,cls);
  373. }
  374.  
  375. /* method: somResetObj */
  376. boolean   somResetObj()
  377. {
  378.    return SOM_ResolveD(this,NotifierModule,SOMObject,somResetObj)
  379.     (this);
  380. }
  381.  
  382. /* method: somPrintSelf */
  383. SOMObject*   somPrintSelf()
  384. {
  385.    return SOM_ResolveD(this,NotifierModule,SOMObject,somPrintSelf)
  386.     (this);
  387. }
  388.  
  389. /* method: somDumpSelf */
  390. void   somDumpSelf(long level)
  391. {
  392.    SOM_ResolveD(this,NotifierModule,SOMObject,somDumpSelf)
  393.     (this,level);
  394. }
  395.  
  396. /* method: somDumpSelfInt */
  397. void   somDumpSelfInt(long level)
  398. {
  399.    SOM_ResolveD(this,NotifierModule,SOMObject,somDumpSelfInt)
  400.     (this,level);
  401. }
  402.  
  403. };   /* NotifierModule */
  404.  
  405.  
  406.  
  407. #endif       /* SOM_NotifierModule_xh */
  408.